#pragma once

#include <vulkan/vulkan.hpp>
#include "Primitive/Vertex.h"
#include "Containers/ThreadSafePtr.h"

class CWriteInMesh;

//managed by RStaticMesh, every section of a static mesh have render mesh 
class CRenderMesh
{

public:
    CRenderMesh();

    void SetMeshData(
        const TVector<SVertex>& InVertice
        , const TVector<uint32_t>& InIndices
        );

    TThreadSafeSharedPtr<CWriteInMesh> GetWriteInMesh() const
    {
        return WriteInMesh;
    }
protected:
    TThreadSafeSharedPtr<CWriteInMesh> WriteInMesh;
};